package com.ww.orm.entity;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Objects;

/**
 * @author sunnannan
 * @version 1.0
 * @date 2020/11/23 11:40 上午
 */
@Entity
@Table(name = "act_hi_actinst", schema = "aceace", catalog = "")
public class ActHiActinstEntity {
    private String id;
    private String procDefId;
    private String procInstId;
    private String executionId;
    private String actId;
    private String taskId;
    private String callProcInstId;
    private String actName;
    private String actType;
    private String assignee;
    private Timestamp startTime;
    private Timestamp endTime;
    private Long duration;
    private String tenantId;

    @Id
    @Column(name = "ID_")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "PROC_DEF_ID_")
    public String getProcDefId() {
        return procDefId;
    }

    public void setProcDefId(String procDefId) {
        this.procDefId = procDefId;
    }

    @Basic
    @Column(name = "PROC_INST_ID_")
    public String getProcInstId() {
        return procInstId;
    }

    public void setProcInstId(String procInstId) {
        this.procInstId = procInstId;
    }

    @Basic
    @Column(name = "EXECUTION_ID_")
    public String getExecutionId() {
        return executionId;
    }

    public void setExecutionId(String executionId) {
        this.executionId = executionId;
    }

    @Basic
    @Column(name = "ACT_ID_")
    public String getActId() {
        return actId;
    }

    public void setActId(String actId) {
        this.actId = actId;
    }

    @Basic
    @Column(name = "TASK_ID_")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "CALL_PROC_INST_ID_")
    public String getCallProcInstId() {
        return callProcInstId;
    }

    public void setCallProcInstId(String callProcInstId) {
        this.callProcInstId = callProcInstId;
    }

    @Basic
    @Column(name = "ACT_NAME_")
    public String getActName() {
        return actName;
    }

    public void setActName(String actName) {
        this.actName = actName;
    }

    @Basic
    @Column(name = "ACT_TYPE_")
    public String getActType() {
        return actType;
    }

    public void setActType(String actType) {
        this.actType = actType;
    }

    @Basic
    @Column(name = "ASSIGNEE_")
    public String getAssignee() {
        return assignee;
    }

    public void setAssignee(String assignee) {
        this.assignee = assignee;
    }

    @Basic
    @Column(name = "START_TIME_")
    public Timestamp getStartTime() {
        return startTime;
    }

    public void setStartTime(Timestamp startTime) {
        this.startTime = startTime;
    }

    @Basic
    @Column(name = "END_TIME_")
    public Timestamp getEndTime() {
        return endTime;
    }

    public void setEndTime(Timestamp endTime) {
        this.endTime = endTime;
    }

    @Basic
    @Column(name = "DURATION_")
    public Long getDuration() {
        return duration;
    }

    public void setDuration(Long duration) {
        this.duration = duration;
    }

    @Basic
    @Column(name = "TENANT_ID_")
    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ActHiActinstEntity that = (ActHiActinstEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(procDefId, that.procDefId) &&
                Objects.equals(procInstId, that.procInstId) &&
                Objects.equals(executionId, that.executionId) &&
                Objects.equals(actId, that.actId) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(callProcInstId, that.callProcInstId) &&
                Objects.equals(actName, that.actName) &&
                Objects.equals(actType, that.actType) &&
                Objects.equals(assignee, that.assignee) &&
                Objects.equals(startTime, that.startTime) &&
                Objects.equals(endTime, that.endTime) &&
                Objects.equals(duration, that.duration) &&
                Objects.equals(tenantId, that.tenantId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, procDefId, procInstId, executionId, actId, taskId, callProcInstId, actName, actType, assignee, startTime, endTime, duration, tenantId);
    }
}
